# 函数声明
def shi():
    print("举头望明月，低头思故乡")

shi()

# 函数的参数传递
# 第一组
def add(a,b): # a, b为形参
    print(a + b)


add(1, 3)   # 实参为常量


# 第二组
a = 1
b = 3
add(a, b)   # 实参为变量


# 第三组
add(2 * 3, 4 * 5)   # 实参为表达式


c = 3
add(8,c * 3)    # 实参为常量，变量和表达式组合


def score(a, b, c):
    print('张三成绩为：', a)
    print('李四成绩为：', b)
    print('王五成绩为：', c)


score(65, 85, 89)   # 位置参数数量和位置必须与定义函数的时候一致
score(b=65,  a=85, c=89)    # 如果是关键字参数传递的情况，个数必须一致，位置可以不一致


def reg(name, age, sex="女"):
    print('名字:{}年龄{}性别{}'.format(name, age, sex))

reg('张三',20)
reg('李四',21,'男')